// EcoModeler - C# Edition :: Version 9.16 build 3301
using System;
using System.ComponentModel;
using System.Collections;
using System.Collections.Generic;
using Eco.Services;
using Eco.ObjectRepresentation;
using Eco.ObjectImplementation;
using Eco.UmlRt;
using Eco.UmlCodeAttributes;
using Eco.Subscription;

namespace TTServer
{
	#region MM_ECO_Generated
	#region Attributes
	[UmlElement(Id="{c84c120a-8e5f-4eb1-b876-909de96e6bbb}")]
	#endregion

	#region Documentation
	//1 Mailadresse: spezielle Info
	/// Dient zur Darstellung von Mailadressen.
	/// Da die Klasse von der Klasse Info erbt,
	/// kann sie wie diese an verschiedene andere
	/// Klassen assoziiert werden.
	#endregion

	#endregion
	public class Mailadresse: Info
	{
		#region MM_ECO AutoGenerated ECO code

		new public struct Eco_LoopbackIndices
		{
			public const int Eco_FirstMember = TTServer.Info.Eco_LoopbackIndices.Eco_MemberCount;
			public const int Eco_MemberCount = (Eco_FirstMember + 1);
			public const int Adresse_MemberIndex = Eco_FirstMember + 0;
		}
		#endregion

		#region MM_ECO Model owned attributes
		//Note: Do not remove any property within this region, nor change its signature

		#region MM_ECO_Generated
		#region Attributes
		[UmlElement(Index=(Mailadresse.Eco_LoopbackIndices.Adresse_MemberIndex), Id="{b96932bd-d9c6-4356-9f2b-69727d230aff}")]
		[UmlTaggedValue("Eco.Length", "100")]
		#endregion

		#region Documentation
		//1 Adresse der Mailadresse
		/// Die Mailadresse muss einen Klammeraffen enthalten.
		#endregion

		#endregion
		public string Adresse
		{
			get
			{
				#region MM_ECO_Generated
				return (string) (this.eco_Content.get_MemberByIndex(Eco_LoopbackIndices.Adresse_MemberIndex));
				#endregion
			}
			set
			{
				#region MM_ECO_Generated
				this.eco_Content.set_MemberByIndex(Eco_LoopbackIndices.Adresse_MemberIndex, ((object)(value)));
				#endregion
			}
		}
		#endregion

		#region MM_ECO Model owned methods
		//Note: Do not remove any method within this region, nor change its signature

		public Mailadresse(IContent content) : base(content)
		{
			#region MM_ECO_Generated
			#endregion
		}

		public Mailadresse(IEcoServiceProvider serviceProvider) : base(serviceProvider)
		{
			try
			{
				// Place user code ONLY here
			}
			catch (System.Exception)
			{
				this.Deinitialize(serviceProvider);
				throw;
			}
		}
		#endregion
	}
}
